Type: entity
Confidence: 0.98
Created: 2026-04-17
Updated: 2026-04-17
Tags: 技术研究历史计算理论

Hoare CSP 论文

概述

Tony Hoare 于1978年发表的《Communicating Sequential Processes》,提出了 CSP 模型——并发程序由多个独立的顺序进程组成,进程之间通过同步消息传递而非共享内存进行通信。

关键内容

论文信息

项目 内容
标题 CSP 模型</td> </tr> <tr> <td><strong>作者</strong></td> <td>[[Tony Hoare</td> </tr> <tr> <td><strong>发表时间</strong></td> <td>1978年8月</td> </tr> <tr> <td><strong>刊物</strong></td> <td>Communications of the ACM, Vol. 21, No. 8, pp. 666-677</td> </tr> <tr> <td><strong>引用量</strong></td> <td>超过10,000次</td> </tr> </tbody> </table> <h3 id="_4">核心贡献</h3> <ul> <li><strong>进程(Process)</strong>:每个进程是严格顺序的,拥有私有状态</li> <li><strong>[[同步通信P!e(发送)和 P?x(接收),通过"会合"(rendezvous)实现
  • 守卫命令:将 Dijkstra 的守卫命令与输入/输出命令结合
  • 并行组合[P1 || P2 || ... || Pn]
  • 经典示例

    • 缓冲进程:生产者-消费者问题,没有锁和信号量
    • 素数筛法:用递归进程链实现埃拉托斯特尼筛法
    • 哲学家就餐:用 CSP 解决经典死锁问题

    历史影响

    • 直接影响了 occamErlang、Go、Clojure core.async、Rust 等语言
    • Go 语言的 goroutine + channel 是 CSP 的当代实现
    • 催生了著名格言:"不要通过共享内存来通信,而要通过通信来共享内存"

    来源

    • raw/books/计算机科学/14-hoare-csp.md

    相关